<!DOCTYPE HTML>

<html lang="en">
<head>

<title>AclImpl (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="AclImpl (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="AclImpl.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.acls.domain</a></div>
<h2 title="Class AclImpl" class="title">Class AclImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.springframework.security.acls.domain.AclImpl</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code>, <code><a href="../model/AuditableAcl.html" title="interface in org.springframework.security.acls.model">AuditableAcl</a></code>, <code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code>, <code><a href="../model/OwnershipAcl.html" title="interface in org.springframework.security.acls.model">OwnershipAcl</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">AclImpl</span>
extends java.lang.Object
implements <a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>, <a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a>, <a href="../model/AuditableAcl.html" title="interface in org.springframework.security.acls.model">AuditableAcl</a>, <a href="../model/OwnershipAcl.html" title="interface in org.springframework.security.acls.model">OwnershipAcl</a></pre>
<div class="block">Base implementation of <code>Acl</code>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.springframework.security.acls.domain.AclImpl">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">

</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#%3Cinit%3E(org.springframework.security.acls.model.ObjectIdentity,java.io.Serializable,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.domain.AuditLogger)">AclImpl</a></span>&#8203;(<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>&nbsp;objectIdentity,
java.io.Serializable&nbsp;id,
<a href="AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
<a href="AuditLogger.html" title="interface in org.springframework.security.acls.domain">AuditLogger</a>&nbsp;auditLogger)</code></th>
<td class="colLast">
<div class="block">Minimal constructor, which should be used
<a href="../model/MutableAclService.html#createAcl(org.springframework.security.acls.model.ObjectIdentity)"><code>MutableAclService.createAcl(ObjectIdentity)</code></a>
.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#%3Cinit%3E(org.springframework.security.acls.model.ObjectIdentity,java.io.Serializable,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.model.PermissionGrantingStrategy,org.springframework.security.acls.model.Acl,java.util.List,boolean,org.springframework.security.acls.model.Sid)">AclImpl</a></span>&#8203;(<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>&nbsp;objectIdentity,
java.io.Serializable&nbsp;id,
<a href="AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
<a href="../model/PermissionGrantingStrategy.html" title="interface in org.springframework.security.acls.model">PermissionGrantingStrategy</a>&nbsp;grantingStrategy,
<a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>&nbsp;parentAcl,
java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;loadedSids,
boolean&nbsp;entriesInheriting,
<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;owner)</code></th>
<td class="colLast">
<div class="block">Full constructor, which should be used by persistence tools that do not provide
field-level access features.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">

</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#deleteAce(int)">deleteAce</a></span>&#8203;(int&nbsp;aceIndex)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#equals(java.lang.Object)">equals</a></span>&#8203;(java.lang.Object&nbsp;obj)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../model/AccessControlEntry.html" title="interface in org.springframework.security.acls.model">AccessControlEntry</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#getEntries()">getEntries</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns all of the entries represented by the present <tt>Acl</tt>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.io.Serializable</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">Obtains an identifier that represents this <tt>MutableAcl</tt>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#getObjectIdentity()">getObjectIdentity</a></span>()</code></th>
<td class="colLast">
<div class="block">Obtains the domain object this <tt>Acl</tt> provides entries for.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#getOwner()">getOwner</a></span>()</code></th>
<td class="colLast">
<div class="block">Determines the owner of the <tt>Acl</tt>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#getParentAcl()">getParentAcl</a></span>()</code></th>
<td class="colLast">
<div class="block">A domain object may have a parent for the purpose of ACL inheritance.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#insertAce(int,org.springframework.security.acls.model.Permission,org.springframework.security.acls.model.Sid,boolean)">insertAce</a></span>&#8203;(int&nbsp;atIndexLocation,
<a href="../model/Permission.html" title="interface in org.springframework.security.acls.model">Permission</a>&nbsp;permission,
<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;sid,
boolean&nbsp;granting)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#isEntriesInheriting()">isEntriesInheriting</a></span>()</code></th>
<td class="colLast">
<div class="block">Indicates whether the ACL entries from the <a href="../model/Acl.html#getParentAcl()"><code>Acl.getParentAcl()</code></a> should flow down
into the current <tt>Acl</tt>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#isGranted(java.util.List,java.util.List,boolean)">isGranted</a></span>&#8203;(java.util.List&lt;<a href="../model/Permission.html" title="interface in org.springframework.security.acls.model">Permission</a>&gt;&nbsp;permission,
java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;sids,
boolean&nbsp;administrativeMode)</code></th>
<td class="colLast">
<div class="block">Delegates to the <a href="../model/PermissionGrantingStrategy.html" title="interface in org.springframework.security.acls.model"><code>PermissionGrantingStrategy</code></a>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#isSidLoaded(java.util.List)">isSidLoaded</a></span>&#8203;(java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;sids)</code></th>
<td class="colLast">
<div class="block">For efficiency reasons an <tt>Acl</tt> may be loaded and <em>not</em> contain
entries for every <tt>Sid</tt> in the system.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#setEntriesInheriting(boolean)">setEntriesInheriting</a></span>&#8203;(boolean&nbsp;entriesInheriting)</code></th>
<td class="colLast">
<div class="block">Change the value returned by <a href="../model/Acl.html#isEntriesInheriting()"><code>Acl.isEntriesInheriting()</code></a>.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#setOwner(org.springframework.security.acls.model.Sid)">setOwner</a></span>&#8203;(<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;newOwner)</code></th>
<td class="colLast">
<div class="block">Changes the present owner to a different owner.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#setParent(org.springframework.security.acls.model.Acl)">setParent</a></span>&#8203;(<a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>&nbsp;newParent)</code></th>
<td class="colLast">
<div class="block">Changes the parent of this ACL.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#updateAce(int,org.springframework.security.acls.model.Permission)">updateAce</a></span>&#8203;(int&nbsp;aceIndex,
<a href="../model/Permission.html" title="interface in org.springframework.security.acls.model">Permission</a>&nbsp;permission)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AclImpl.html#updateAuditing(int,boolean,boolean)">updateAuditing</a></span>&#8203;(int&nbsp;aceIndex,
boolean&nbsp;auditSuccess,
boolean&nbsp;auditFailure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">

</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.springframework.security.acls.model.ObjectIdentity,java.io.Serializable,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.domain.AuditLogger)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>AclImpl</h4>
<pre>public&nbsp;AclImpl&#8203;(<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>&nbsp;objectIdentity,
               java.io.Serializable&nbsp;id,
               <a href="AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
               <a href="AuditLogger.html" title="interface in org.springframework.security.acls.domain">AuditLogger</a>&nbsp;auditLogger)</pre>
<div class="block">Minimal constructor, which should be used
<a href="../model/MutableAclService.html#createAcl(org.springframework.security.acls.model.ObjectIdentity)"><code>MutableAclService.createAcl(ObjectIdentity)</code></a>
.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>objectIdentity</code> - the object identity this ACL relates to (required)</dd>
<dd><code>id</code> - the primary key assigned to this ACL (required)</dd>
<dd><code>aclAuthorizationStrategy</code> - authorization strategy (required)</dd>
<dd><code>auditLogger</code> - audit logger (required)</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.springframework.security.acls.model.ObjectIdentity,java.io.Serializable,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.model.PermissionGrantingStrategy,org.springframework.security.acls.model.Acl,java.util.List,boolean,org.springframework.security.acls.model.Sid)">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AclImpl</h4>
<pre>public&nbsp;AclImpl&#8203;(<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>&nbsp;objectIdentity,
               java.io.Serializable&nbsp;id,
               <a href="AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
               <a href="../model/PermissionGrantingStrategy.html" title="interface in org.springframework.security.acls.model">PermissionGrantingStrategy</a>&nbsp;grantingStrategy,
               <a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>&nbsp;parentAcl,
               java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;loadedSids,
               boolean&nbsp;entriesInheriting,
               <a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;owner)</pre>
<div class="block">Full constructor, which should be used by persistence tools that do not provide
field-level access features.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>objectIdentity</code> - the object identity this ACL relates to</dd>
<dd><code>id</code> - the primary key assigned to this ACL</dd>
<dd><code>aclAuthorizationStrategy</code> - authorization strategy</dd>
<dd><code>grantingStrategy</code> - the <code>PermissionGrantingStrategy</code> which will be used
by the <code>isGranted()</code> method</dd>
<dd><code>parentAcl</code> - the parent (may be may be <code>null</code>)</dd>
<dd><code>loadedSids</code> - the loaded SIDs if only a subset were loaded (may be <code>null</code>
)</dd>
<dd><code>entriesInheriting</code> - if ACEs from the parent should inherit into this ACL</dd>
<dd><code>owner</code> - the owner (required)</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">

</a>
<h3>Method Detail</h3>
<a id="deleteAce(int)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteAce</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;deleteAce&#8203;(int&nbsp;aceIndex)
               throws <a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/MutableAcl.html#deleteAce(int)">deleteAce</a></code>&nbsp;in interface&nbsp;<code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a></code></dd>
</dl>
</li>
</ul>
<a id="insertAce(int,org.springframework.security.acls.model.Permission,org.springframework.security.acls.model.Sid,boolean)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>insertAce</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;insertAce&#8203;(int&nbsp;atIndexLocation,
                      <a href="../model/Permission.html" title="interface in org.springframework.security.acls.model">Permission</a>&nbsp;permission,
                      <a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;sid,
                      boolean&nbsp;granting)
               throws <a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/MutableAcl.html#insertAce(int,org.springframework.security.acls.model.Permission,org.springframework.security.acls.model.Sid,boolean)">insertAce</a></code>&nbsp;in interface&nbsp;<code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a></code></dd>
</dl>
</li>
</ul>
<a id="getEntries()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntries</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="../model/AccessControlEntry.html" title="interface in org.springframework.security.acls.model">AccessControlEntry</a>&gt;&nbsp;getEntries()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/Acl.html#getEntries()">Acl</a></code></span></div>
<div class="block">Returns all of the entries represented by the present <tt>Acl</tt>. Entries
associated with the <tt>Acl</tt> parents are not returned.
<p>
This method is typically used for administrative purposes.
</p>
<p>
The order that entries appear in the array is important for methods declared in the
<a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model"><code>MutableAcl</code></a> interface. Furthermore, some implementations MAY use ordering as
part of advanced permission checking.
</p>
<p>
Do <em>NOT</em> use this method for making authorization decisions. Instead use
<a href="../model/Acl.html#isGranted(java.util.List,java.util.List,boolean)"><code>Acl.isGranted(List, List, boolean)</code></a>.
</p>
<p>
This method must operate correctly even if the <tt>Acl</tt> only represents a
subset of <tt>Sid</tt>s. The caller is responsible for correctly handling the
result if only a subset of <tt>Sid</tt>s is represented.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/Acl.html#getEntries()">getEntries</a></code>&nbsp;in interface&nbsp;<code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of entries represented by the <tt>Acl</tt>, or <tt>null</tt> if
there are no entries presently associated with this <tt>Acl</tt>.</dd>
</dl>
</li>
</ul>
<a id="getId()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre class="methodSignature">public&nbsp;java.io.Serializable&nbsp;getId()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/MutableAcl.html#getId()">MutableAcl</a></code></span></div>
<div class="block">Obtains an identifier that represents this <tt>MutableAcl</tt>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/MutableAcl.html#getId()">getId</a></code>&nbsp;in interface&nbsp;<code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the identifier, or <tt>null</tt> if unsaved</dd>
</dl>
</li>
</ul>
<a id="getObjectIdentity()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectIdentity</h4>
<pre class="methodSignature">public&nbsp;<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>&nbsp;getObjectIdentity()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/Acl.html#getObjectIdentity()">Acl</a></code></span></div>
<div class="block">Obtains the domain object this <tt>Acl</tt> provides entries for. This is immutable
once an <tt>Acl</tt> is created.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/Acl.html#getObjectIdentity()">getObjectIdentity</a></code>&nbsp;in interface&nbsp;<code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the object identity (never <tt>null</tt>)</dd>
</dl>
</li>
</ul>
<a id="isEntriesInheriting()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>isEntriesInheriting</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEntriesInheriting()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/Acl.html#isEntriesInheriting()">Acl</a></code></span></div>
<div class="block">Indicates whether the ACL entries from the <a href="../model/Acl.html#getParentAcl()"><code>Acl.getParentAcl()</code></a> should flow down
into the current <tt>Acl</tt>.
<p>
The mere link between an <tt>Acl</tt> and a parent <tt>Acl</tt> on its own is
insufficient to cause ACL entries to inherit down. This is because a domain object
may wish to have entirely independent entries, but maintain the link with the
parent for navigation purposes. Thus, this method denotes whether or not the
navigation relationship also extends to the actual inheritance of entries.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/Acl.html#isEntriesInheriting()">isEntriesInheriting</a></code>&nbsp;in interface&nbsp;<code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if parent ACL entries inherit into the current <tt>Acl</tt></dd>
</dl>
</li>
</ul>
<a id="isGranted(java.util.List,java.util.List,boolean)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>isGranted</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isGranted&#8203;(java.util.List&lt;<a href="../model/Permission.html" title="interface in org.springframework.security.acls.model">Permission</a>&gt;&nbsp;permission,
                         java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;sids,
                         boolean&nbsp;administrativeMode)
                  throws <a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a>,
                         <a href="../model/UnloadedSidException.html" title="class in org.springframework.security.acls.model">UnloadedSidException</a></pre>
<div class="block">Delegates to the <a href="../model/PermissionGrantingStrategy.html" title="interface in org.springframework.security.acls.model"><code>PermissionGrantingStrategy</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/Acl.html#isGranted(java.util.List,java.util.List,boolean)">isGranted</a></code>&nbsp;in interface&nbsp;<code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>permission</code> - the permission or permissions required (at least one entry
required)</dd>
<dd><code>sids</code> - the security identities held by the principal (at least one entry
required)</dd>
<dd><code>administrativeMode</code> - if <tt>true</tt> denotes the query is for administrative
purposes and no logging or auditing (if supported by the implementation) should be
undertaken</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if authorization is granted</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../model/UnloadedSidException.html" title="class in org.springframework.security.acls.model">UnloadedSidException</a></code> - if the passed SIDs are unknown to this ACL because the
ACL was only loaded for a subset of SIDs</dd>
<dd><code><a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a></code> - MUST be thrown if an implementation cannot make an
authoritative authorization decision, usually because there is no ACL information
for this particular permission and/or SID</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="DefaultPermissionGrantingStrategy.html" title="class in org.springframework.security.acls.domain"><code>DefaultPermissionGrantingStrategy</code></a></dd>
</dl>
</li>
</ul>
<a id="isSidLoaded(java.util.List)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>isSidLoaded</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSidLoaded&#8203;(java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;sids)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/Acl.html#isSidLoaded(java.util.List)">Acl</a></code></span></div>
<div class="block">For efficiency reasons an <tt>Acl</tt> may be loaded and <em>not</em> contain
entries for every <tt>Sid</tt> in the system. If an <tt>Acl</tt> has been loaded
and does not represent every <tt>Sid</tt>, all methods of the <tt>Acl</tt> can only
be used within the limited scope of the <tt>Sid</tt> instances it actually
represents.
<p>
It is normal to load an <tt>Acl</tt> for only particular <tt>Sid</tt>s if read-only
authorization decisions are being made. However, if user interface reporting or
modification of <tt>Acl</tt>s are desired, an <tt>Acl</tt> should be loaded with
all <tt>Sid</tt>s. This method denotes whether or not the specified <tt>Sid</tt>s
have been loaded or not.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/Acl.html#isSidLoaded(java.util.List)">isSidLoaded</a></code>&nbsp;in interface&nbsp;<code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sids</code> - one or more security identities the caller is interest in knowing
whether this <tt>Sid</tt> supports</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if every passed <tt>Sid</tt> is represented by this
<tt>Acl</tt> instance</dd>
</dl>
</li>
</ul>
<a id="setEntriesInheriting(boolean)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setEntriesInheriting</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setEntriesInheriting&#8203;(boolean&nbsp;entriesInheriting)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/MutableAcl.html#setEntriesInheriting(boolean)">MutableAcl</a></code></span></div>
<div class="block">Change the value returned by <a href="../model/Acl.html#isEntriesInheriting()"><code>Acl.isEntriesInheriting()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/MutableAcl.html#setEntriesInheriting(boolean)">setEntriesInheriting</a></code>&nbsp;in interface&nbsp;<code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>entriesInheriting</code> - the new value</dd>
</dl>
</li>
</ul>
<a id="setOwner(org.springframework.security.acls.model.Sid)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setOwner</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOwner&#8203;(<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;newOwner)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/MutableAcl.html#setOwner(org.springframework.security.acls.model.Sid)">MutableAcl</a></code></span></div>
<div class="block">Changes the present owner to a different owner.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/MutableAcl.html#setOwner(org.springframework.security.acls.model.Sid)">setOwner</a></code>&nbsp;in interface&nbsp;<code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/OwnershipAcl.html#setOwner(org.springframework.security.acls.model.Sid)">setOwner</a></code>&nbsp;in interface&nbsp;<code><a href="../model/OwnershipAcl.html" title="interface in org.springframework.security.acls.model">OwnershipAcl</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newOwner</code> - the new owner (mandatory; cannot be null)</dd>
</dl>
</li>
</ul>
<a id="getOwner()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getOwner</h4>
<pre class="methodSignature">public&nbsp;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;getOwner()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/Acl.html#getOwner()">Acl</a></code></span></div>
<div class="block">Determines the owner of the <tt>Acl</tt>. The meaning of ownership varies by
implementation and is unspecified.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/Acl.html#getOwner()">getOwner</a></code>&nbsp;in interface&nbsp;<code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the owner (may be <tt>null</tt> if the implementation does not use
ownership concepts)</dd>
</dl>
</li>
</ul>
<a id="setParent(org.springframework.security.acls.model.Acl)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setParent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setParent&#8203;(<a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>&nbsp;newParent)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/MutableAcl.html#setParent(org.springframework.security.acls.model.Acl)">MutableAcl</a></code></span></div>
<div class="block">Changes the parent of this ACL.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/MutableAcl.html#setParent(org.springframework.security.acls.model.Acl)">setParent</a></code>&nbsp;in interface&nbsp;<code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newParent</code> - the new parent</dd>
</dl>
</li>
</ul>
<a id="getParentAcl()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentAcl</h4>
<pre class="methodSignature">public&nbsp;<a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>&nbsp;getParentAcl()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../model/Acl.html#getParentAcl()">Acl</a></code></span></div>
<div class="block">A domain object may have a parent for the purpose of ACL inheritance. If there is a
parent, its ACL can be accessed via this method. In turn, the parent's parent
(grandparent) can be accessed and so on.
<p>
This method solely represents the presence of a navigation hierarchy between the
parent <tt>Acl</tt> and this <tt>Acl</tt>. For actual inheritance to take place,
the <a href="../model/Acl.html#isEntriesInheriting()"><code>Acl.isEntriesInheriting()</code></a> must also be <tt>true</tt>.
</p>
<p>
This method must operate correctly even if the <tt>Acl</tt> only represents a
subset of <tt>Sid</tt>s. The caller is responsible for correctly handling the
result if only a subset of <tt>Sid</tt>s is represented.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/Acl.html#getParentAcl()">getParentAcl</a></code>&nbsp;in interface&nbsp;<code><a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parent <tt>Acl</tt> (may be <tt>null</tt> if this <tt>Acl</tt> does not
have a parent)</dd>
</dl>
</li>
</ul>
<a id="updateAce(int,org.springframework.security.acls.model.Permission)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAce</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;updateAce&#8203;(int&nbsp;aceIndex,
                      <a href="../model/Permission.html" title="interface in org.springframework.security.acls.model">Permission</a>&nbsp;permission)
               throws <a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/MutableAcl.html#updateAce(int,org.springframework.security.acls.model.Permission)">updateAce</a></code>&nbsp;in interface&nbsp;<code><a href="../model/MutableAcl.html" title="interface in org.springframework.security.acls.model">MutableAcl</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model">NotFoundException</a></code></dd>
</dl>
</li>
</ul>
<a id="updateAuditing(int,boolean,boolean)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAuditing</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;updateAuditing&#8203;(int&nbsp;aceIndex,
                           boolean&nbsp;auditSuccess,
                           boolean&nbsp;auditFailure)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../model/AuditableAcl.html#updateAuditing(int,boolean,boolean)">updateAuditing</a></code>&nbsp;in interface&nbsp;<code><a href="../model/AuditableAcl.html" title="interface in org.springframework.security.acls.model">AuditableAcl</a></code></dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(java.lang.Object&nbsp;obj)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a id="hashCode()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a id="toString()">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="AclImpl.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AclImpl.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040d2170ceb980c","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
